/////////////////////////////////////////////////////////////
// this script does nothing but takes the amount of time you want 
// to do that shift+f9 thing for ASProtect targets and does tht shift+f9 
// throught ESTO command in script. 
//
// remember the input is in HEX, so if u want to shift+f9 38 times, 
// enter 26 
// 
// currently ODBGScript 1.41 has some problem, some times mistakenly 
// it fails to catch the right input 'n rather takes a ZERO as input 
// tht's why i made a loop and if u want to exit without inputing anything 
// put a ` <-- the key right below escape key
/////////////////////////////////////////////////////////////
/*
********************
     nick_name
 TEAM RESSURRECTiON
********************
*/

/**/
/**/

DEFINE_BEFORE_EXECUTION:

mov iat_start,434000
mov iat_end,4342bc
mov binary_paste,491000
mov patch_with,"call dword ptr [{tmp_start}]"
//mov patch_with,"jmp dword ptr [{tmp_start}]"

/**/
/**/

SCRIPT_START:

		lc
		
LOOP:
		mov tmp_start,iat_start
		mov call_addr, [binary_paste]
		add binary_paste,4
		mov api_addr, [binary_paste]

START_FIND:
		mov abc,[tmp_start]
		cmp abc,api_addr
		je PATCH
		add tmp_start,4
		cmp tmp_start,iat_end
		je LOG
		jmp START_FIND

PATCH:
		eval patch_with
		asm call_addr,$RESULT
		mov tempo1,[binary_paste-4]
		mov tempo2,[binary_paste]
		gn [binary_paste]
		cmp $RESULT,0
		je LOG
		eval "{tempo1} :: {tempo2}={$RESULT}"
		log $RESULT, ""
		
	
HERE:
		add binary_paste,4
		cmp [binary_paste],0
		jne LOOP

EXIT_PATCH:		
		ret

LOG:
		mov tempo,[binary_paste-4]
		eval "\r\n{tempo} :: ...................................       <<---------NOT FOUND------\r\n"
		log $RESULT, ""
		
/*
		gpa "GetProcAddress","kernel32.dll"
		mov tempi,iat_end
		add tempi,4
		mov [tempi],$RESULT
		eval "jmp dword ptr [{tempi}]"
		asm [binary_paste-4],$RESULT
		
*/
			
		jmp HERE
	
